Technology product providers may provide a variety of solutions in different forms. These solutions may include on-premise products and on-demand products. An on-premise product (also known to as “on-premises” or “on-prem”) is a product that is typically installed and runs on computers on the premises of the product user, rather than at a remote facility such as at a server farm or a cloud. Traditional enterprise resource planning (ERP) systems and software distributed via compact disc, USB drive, etc. are some examples of on-premise products. An on-demand product is a product offered as a service via the Internet. The software may be centrally located in a server farm, a cloud, or elsewhere in the Internet. On-demand products are also known as “software as a service” or “cloud computing.” Typically, an on-demand product does not require local installation and operates on a software licensing and delivery model, based on which customers may pay a fee for access or rental of the product. Modern computing systems (i.e., customer landscapes) are becoming increasingly heterogeneous, including a combination of on-premise products and on-demand products.
Business processes supported by a computing system may be monitored by requesting a report regarding constituent components of the computing system. For instance, a user may request a report regarding human resources aspects, supply chain operations, etc. Needs and interests may vary from user to user. For example, a corporate executive may request reports of highly confidential material. Operational users may request reports with specific line items. Marketing users may request reports with sales statistics.
A common reporting strategy is especially helpful for scenarios or processes that run across different types of solutions. The different solutions may be varied, for example, among other things, being deployed on-premise or on-demand, running on different storage apparatus (also referred to as “database”), and using different data structures. However, the diversity of product types makes it difficult to devise a common, standard reporting solution. Typically, cross-reporting is implemented in a customer-specific project using a data warehouse into which the data from the different solutions are replicated and consolidated. This is difficult and/or time-consuming to implement, and causes performance and consistency issues, and data redundancy. Moreover, reporting frameworks are not easily translatable from one software application to another software application, and existing methods for generating a report for an on-premise product are not compatible with on-demand products due to implementation difference between different types of products. Thus, there exists a need to integrate reporting for both on-premise and on-demand software in today's increasingly heterogeneous computing landscape.